Conditional instruction execution is an important aspect of processor instruction sets. For example, conditional branch instructions are almost ubiquitous in instruction sets and are frequently used in programs. Instruction sets may also include conditional execution of other types of instructions besides branch instructions.
There is a constant desire to increase the performance of processors. Processors whose microarchitecture enables them to execute instructions out of program order (“out-of-order execution”) generally enjoy a significant performance improvement over processors with an in-order execution microarchitecture. Therefore, what is needed is a way to improve performance of out-of-order execution processors that include conditional instructions in their instruction sets.